<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>BNF for DSL.jj</TITLE>
</HEAD>
<BODY>
<H1 ALIGN=CENTER>BNF for DSL.jj</H1>
<H2 ALIGN=CENTER>TOKENS</H2>
<TABLE>
 <!-- Token -->
 <TR>
  <TD>
   <PRE>
&lt;DEFAULT&gt; SKIP : {
"\n"
| "\r"
| "\r\n"
| "\\"
| "\t"
| " "
}

   </PRE>
  </TD>
 </TR>
 <!-- Token -->
 <TR>
  <TD>
   <PRE>
&lt;DEFAULT&gt; TOKEN [IGNORE_CASE] : {
&lt;CREATE: "create"&gt;
| &lt;WITH: "with"&gt;
| &lt;UPDATE: "update"&gt;
| &lt;CLICK: "click"&gt;
| &lt;SAVE: "save"&gt;
| &lt;SET: "set"&gt;
| &lt;ALLOW: "allow"&gt;
| &lt;FORBID: "forbid"&gt;
| &lt;EDIT: "edit"&gt;
| &lt;START: "start"&gt;
| &lt;DELETE: "delete"&gt;
| &lt;CHECK: "check"&gt;
| &lt;ID: &lt;LETTER&gt; (&lt;DIGIT&gt; | &lt;LETTER&gt;)*&gt;
| &lt;NUMBER: (&lt;DIGIT&gt;)+ ("." (&lt;DIGIT&gt;)+)?&gt;
| &lt;LETTER: ["$","A"-"Z","_","a"-"z","\u00c0"-"\u00d6","\u00d8"-"\u00f6","\u00f8"-"\u00ff","\u0100"-"\u1fff","\u3040"-"\u318f","\u3300"-"\u337f","\u3400"-"\u3d2d","\u4e00"-"\u9fff","\uf900"-"\ufaff"]&gt;
| &lt;DIGIT: ["0"-"9"]&gt;
| &lt;OBRA: "("&gt;
| &lt;CBRA: ")"&gt;
| &lt;COMMA: ","&gt;
| &lt;DAC: ";"&gt;
| &lt;ALL: "*"&gt;
| &lt;MOR: "&gt;"&gt;
| &lt;LES: "&lt;"&gt;
| &lt;MOREQ: "&gt;="&gt;
| &lt;LESEQ: "&lt;="&gt;
| &lt;EQ: "="&gt;
| &lt;NEQ: "&lt;&gt;"&gt;
| &lt;SIGNS: "\""&gt;
| &lt;LINE: "\"" (&lt;LETTER&gt; | &lt;DIGIT&gt; | " " | &lt;SPECIAL_CHARS&gt;)* "\""&gt;
| &lt;SPECIAL_CHARS: ["[",".","/","&lt;","&gt;","?",";",":","\'","`","!","@","#","$","%","^","&amp;","*","(",")","[","]","{","}","_","+","=","-","|","\\"]&gt;
}

   </PRE>
  </TD>
 </TR>
 <!-- Token -->
 <TR>
  <TD>
   <PRE>
&lt;DEFAULT&gt; SPECIAL : {
&lt;COMMENT: ("#")+ (&lt;LETTER&gt;)+ ("#")+&gt;
}

   </PRE>
  </TD>
 </TR>
</TABLE>
<H2 ALIGN=CENTER>NON-TERMINALS</H2>
<TABLE>
<TR>
<TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod1">init</A></TD>
<TD ALIGN=CENTER VALIGN=BASELINE>::=</TD>
<TD ALIGN=LEFT VALIGN=BASELINE>( ( &lt;CREATE&gt; <A HREF="#prod2">itemName</A> &lt;WITH&gt; <A HREF="#prod3">params</A> &lt;DAC&gt; ) | ( &lt;UPDATE&gt; <A HREF="#prod2">itemName</A> &lt;SET&gt; <A HREF="#prod3">params</A> &lt;DAC&gt; ) | ( &lt;CLICK&gt; <A HREF="#prod2">itemName</A> &lt;DAC&gt; ) | ( &lt;SAVE&gt; <A HREF="#prod2">itemName</A> &lt;DAC&gt; ) | ( &lt;CHECK&gt; &lt;LINE&gt; &lt;DAC&gt; ) )* &lt;EOF&gt;</TD>
</TR>
<TR>
<TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod2">itemName</A></TD>
<TD ALIGN=CENTER VALIGN=BASELINE>::=</TD>
<TD ALIGN=LEFT VALIGN=BASELINE>&lt;ID&gt;</TD>
</TR>
<TR>
<TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod3">params</A></TD>
<TD ALIGN=CENTER VALIGN=BASELINE>::=</TD>
<TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod4">setParam</A> ( &lt;COMMA&gt; <A HREF="#prod4">setParam</A> )*</TD>
</TR>
<TR>
<TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod4">setParam</A></TD>
<TD ALIGN=CENTER VALIGN=BASELINE>::=</TD>
<TD ALIGN=LEFT VALIGN=BASELINE>&lt;ID&gt; &lt;EQ&gt; &lt;LINE&gt;</TD>
</TR>
</TABLE>
</BODY>
</HTML>
